Various protocols, including the transmission control protocol (TCP), communicate various types of overhead data in addition to the desired payload data to facilitate reliable delivery of the payload data. For example, after each packet is received, a receiver may send an acknowledgment (ACK) packet back to the sender, or forward error correction (FEC) data and/or other types of data may be communicated back to the sender for various reasons. These and other types of overhead data can use appreciable amounts of return-link bandwidth, particularly in support of communication of large amounts of forward-link data (e.g., being downloaded by the receiver).
In many typical communications system architectures, the return link has limited bandwidth and operates according to upload bandwidth allowances from a protocol partner. For example, in a typical satellite network configuration, bandwidth may be allocated to a client-side system by a server-side system as “grants” (e.g., blocks of bandwidth). The client may completely or partially fill a grant for upload with the contents of a queue. The client then waits until receiving another grant before uploading more data.
Notably, while the client waits for each new grant, the queue (e.g., a FIFO queue) is continually loaded with overhead and/or other return-link data. For example, if a client is waiting for new grants to send ACK packets and/or other overhead data, new data may be prevented or delayed from being sent. Additionally, the overhead data may take up room in a grant that could otherwise be used for communicating payload or other data, including potentially more valuable or sensitive data.
Accordingly, it may be desirable to communicate overhead data in a way that complies with applicable protocols while using return-link bandwidth more efficiently.